#pragma once
#define WINVER 0x0400 
#define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers
#include <afxwin.h>         // MFC core and standard components
#include <afxext.h>         // MFC extensions
#include <afxdisp.h>        // MFC Automation classes
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>			// MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#include <gl/gl.h>														// Header File For The OpenGL32 Library
#include <gl/glu.h>														// Header File For The GLu32 Library
#include <gl/glaux.h>
#include <gl/glut.h>
#pragma comment( lib, "opengl32.lib" )							// Search For OpenGL32.lib While Linking
#pragma comment( lib, "glu32.lib" )								// Search For GLu32.lib While Linking
#pragma comment( lib, "glaux.lib" )								// Search For GLaux.lib While Linking
#pragma warning( disable : 4996)
#define WM_TOGGLEFULLSCREEN (WM_USER+1)									// Application Define Message For Toggling

class  CApp;												// declare for global usage
extern CApp	theApp;										// declare for global usage

//il numero delle righe e delle colonne
static const short N_ROW   = 6;
static const short N_ROW_U = N_ROW-1;
static const short N_COL = 7;

typedef enum{ RIGHT = 1 , LEFT = -1} Versus_t;
typedef enum{ YELLOW = 1, RED = 2, BLACK = 0} Color_t;
#define OPPOSITE_COLOR(c) (c == YELLOW ?  RED : YELLOW)


struct  Point
{ 
public:
  short x,y;
  Color_t color;  
  void setvalues(short _x,short _y,Color_t _color){x=_x,y=_y,color =_color;}
} ;
